package cn.bonoon.kernel.web.annotations.form;

import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import cn.bonoon.kernel.annotations.Constant;

/**
 * <pre>
 * 指定添加的模式，如果使用了{@link FormEditor}可以不使用本注解；
 * {@link FormEditor}表示添加或修改的时候可以指定相同的属性值
 * 
 * 本注解的优先级高于{@link FormEditor}
 * 
 * 对更新的定义的指定可以使用{@link FormUpdate}
 * 
 * 对生成界面的指定使用：
 * {@link PropertyEditor} 对编辑(包括：添加和修改)的指定
 * {@link PropertyInsert} 只对添加的指定
 * 
 * 使用自动转值，则需要用到自动转值的注解：
 * {@link cn.bonoon.kernel.annotations.Transform Transform}和{@link cn.bonoon.kernel.annotations.TransformField TransformField}
 * 
 * 可以使用分组指定{@link cn.bonoon.kernel.web.annotations.form.FormGroup @FormGroup}
 * 
 * 可以追加帮助说明{@link cn.bonoon.kernel.web.annotations.form.FormHelper @FormHelper}
 * 
 * 可以使用{@link cn.bonoon.kernel.web.annotations.components.AsTabs AsTabs}来把界面生成tabs样式
 * <hr/>
 * 可以追加没有在实体定义(即类所定义的字段)的可以通过{@link InsertCells}或{@link InsertCell}追加进来
 * </pre>
 * @author jackson
 *
 */
@Target(TYPE)
@Retention(RUNTIME)
public @interface FormInsert {
	int value() default 1;

	int headWidth() default Constant.DEFAULT_HEAD_WIDTH;

	int width() default Constant.DEFAULT_WIDTH;
	
	String formStyleClass() default "";
}
